package com.woniu.carrent.pojo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_cardetail")
public class TCardetail implements Serializable {

    /**
     * 主键ID
     */
    @TableId(value = "cdId", type = IdType.AUTO)
    @NotNull(message="[]不能为空")
    @ApiModelProperty("")
    private Integer cdid;

    /**
     * 生产年份
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("")
    @Length(max= 255,message="编码长度不能超过255")
    @TableField(value = "productYear")
    private String productyear;

    /**
     * 车辆等级
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("")
    @Length(max= 255,message="编码长度不能超过255")
    private String level;

    /**
     * 座位数
     */
    @ApiModelProperty("")
    private Integer seats;

    /**
     * 车门数
     */
    @ApiModelProperty("")
    private Integer doors;

    /**
     * 能源类型ID
     */
    @ApiModelProperty("")
    @TableField(value = "energyId")
    private Integer energyid;
    @TableField(exist = false)
    private  String energyName;
    /**
     * 变速箱ID
     */
    @ApiModelProperty("")
    @TableField(value = "gearId")
    private Integer gearid;
    @TableField(exist = false)
    private String gearName;
    /**
     * 排量
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("")
    @Length(max= 255,message="编码长度不能超过255")
    private String displacement;

    /**
     * 驱动方式
     */
    @ApiModelProperty("")
    private Integer drive;

    /**
     * 车窗
     */
    @ApiModelProperty("")
    private Integer upwindow;

    /**
     * 雷达
     */
    @ApiModelProperty("")
    private Integer radar;

    /**
     * GPS
     */
    @ApiModelProperty("")
    private Integer gps;

    /**
     * 车辆ID
     */
    @TableField(value = "carId")
    @ApiModelProperty("")
    private Integer carid;

    /**
     * 驾照要求
     */
    @ApiModelProperty("")
    private Integer lisence;

    /**
     * 文件
     */
    @ApiModelProperty("")
    private Integer fsfile;

    /**
     * 是否删除
     */
    @ApiModelProperty("")
    @TableField(value = "isDeleted")
    private Integer isdeleted;

    /**
     * 是否在线
     */
    @ApiModelProperty("")
    @TableField(value = "isOnline")
    private Integer isonline;

    /**
     * 用户ID
     */
    @ApiModelProperty("")
    private Integer userid;
    private BigDecimal price;
    /**
     * 车牌号
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("")
    @Length(max= 255,message="编码长度不能超过255")
    private String plate;

    /**
     * 车辆照片列表（一对多）
     */
    @ApiModelProperty("")
    @TableField(exist = false)
    private List<TCarphoto> photos;
}
